home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 April / EnigmA AMIGA RUN 17 (1997)(G.R. Edizioni)(IT)[!][issue 1997-04][EAR-CD].iso / EARCD / comm / misc / zpoint_3_14.lha / zpoint-3.14 / Rexx / ReplyMessage.cedzp < prev    next >
Text File  |  1995-03-09  |  3KB  |  109 lines

  1. /*
  2.    ReplyMessage.cedzp 0.9 (26.2.94) by Ueli Kaufmann
  3.    ARexx Skript für Zodiac's Point V37.115ß und Cygnus-Ed v2.12
  4.  
  5. Zweck:
  6. ------
  7.    Die aktuelle Nachricht vom Cygnus-Editor aus kommentieren.
  8.    Harmoniert hervorragend mit ReadMessageExternal.cedzp ...
  9.  
  10. Vorgehensweise:
  11. ---------------
  12.    Wenn mittels ReadMessageExternal.cedzp Nachrichten gelesen werden,
  13.    so kann mit ReplyMessage.cedzp eine Reply auf auf die aktuelle
  14.    Nachricht erstellt werden.
  15.    Wenn das Reply erstellt worden ist, wird mit einem erneuten Starten
  16.    von ReplyMessage.cedzp das Reply abgeschickt..
  17.  
  18. Zukuenftiges:
  19. -------------
  20. - EBs, Cookies und Quote-Initialen sollten noch beachtet werden..
  21. */
  22.  
  23.  
  24. txtFile = 'T:ReplyMsg.tmp'
  25.  
  26. parse arg zpPort           /* ZP-Portname als Argument erhalten. */
  27. if zpPort == "" then       /* Wirklich? */
  28.    zpPort = "ZPoint"       /* Nein, Standard-Portname annehmen. */
  29.  
  30. options results            /* Resultate zulassen. */
  31.  
  32.  
  33. address "rexx_ced"
  34.  
  35. STATUS 19                  /* Pfadname samt Filename ermitteln */
  36. if RESULT == txtFile then  /* ReplyFile schon erstellt? */
  37. do                         /* Ja, Reply verschicken. */
  38.    'Save & quit'           /* Reply speichern und Fenster schliessen. */
  39.  
  40.    address value zpPort       /* Kanal zu ZP oeffnen. */
  41.  
  42.    MESSAGEINFO Author    /* Adresse der aktuellen Nachricht ermitteln */
  43.    msgAuthor = RESULT
  44.    msgAuthor = 'RECEIVER "'msgAuthor'"'
  45.  
  46.    MESSAGEINFO ID        /* Nachrichten-ID der aktuellen Nachricht ermitteln */
  47.    msgID = RESULT
  48.    msgID = 'REFERENCE' msgID
  49.  
  50.    MESSAGEINFO Subject   /* Nachrichten-Betreff der aktuellen Nachricht ermitteln */
  51.    msgSubj = RESULT
  52.    cpos = pos("Re:",msgSubj)
  53.    if cpos = 0 then
  54.       msgSubj = "Re:" msgSubj
  55.  
  56.    msgSubj = 'SUBJECT "'msgSubj'"'
  57.  
  58.    WRITEMESSAGE txtFile msgAuthor msgSubj msgID
  59.    if rc == 0 then                                 /* Erfolgreich? */
  60.       OKAY1 "Nachricht konnte nicht verschickt werden.."
  61. end
  62. else                          /* Reply-File erstellen.. */
  63. do
  64.    address Command "Delete >nil:" txtFile  /* mögliches altes File löschen */
  65.  
  66.    address value zpPort       /* Kanal zu ZP oeffnen. */
  67.  
  68.    MESSAGEINFO Type
  69.    if RESULT = "TEXT" then
  70.    do
  71.       SAVEMESSAGEBODY txtFile                 /* Nachricht speichern */
  72.       if rc = 0 then
  73.       do
  74.          address "rexx_ced"
  75.          OKAY1 "ZP konnte den Nachrichtenrumpf nicht speichern."
  76.          exit
  77.       end
  78.  
  79.       MESSAGEINFO Author    /* Adresse der aktuellen Nachricht ermitteln */
  80.       msgAuthor = RESULT
  81.  
  82.       address "rexx_ced"
  83.  
  84.       'Open new'              /* neues Fenster oeffnen */
  85.       if RESULT == 0 then     /* hatten wir Erfolg? */
  86.       do                      /* Nein :-( */
  87.          OKAY1 "Es konnte kein weiteres Fenster mehr im ced geoeffnet werden.. <<"
  88.          exit                 /* Skript abbrechen */
  89.       end
  90.  
  91.       'Open...' txtFile       /* File laden */
  92.       if RESULT == 0 then     /* hatten wir Erfolg? */
  93.       do                      /* Nein :-( */
  94.          OKAY1 "'"txtFile"' konnte vom ced nicht geladen werden.."
  95.          exit                 /* Skript abbrechen */
  96.       end
  97.  
  98.       TEXT '0a'x msgAuthor "writes:" || '0a'x || '0a'x  /* Header-Zeile schreiben */
  99.  
  100.       LEFT
  101.       LEFT
  102.  
  103.       lstring = '"' || '0a'x || '"' || ' ' || '"' || '0a'x || '> "' 
  104.       'Replace...' lstring 1 0 1 0 't'    /* "LF" durch "LF> " ersetzen */
  105.    end
  106. end
  107.  
  108. exit
  109.